tools/libxl: Avoid overrunning static buffer with prefixdata
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Mon, 16 Mar 2015 13:29:51 +0000 (13:29 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 18 Mar 2015 11:31:57 +0000 (11:31 +0000)
commit8aaeef92c98e8c131b76e996dda7a456402c8a5a
tree5dea0199765e1c180330afad60fe9c6c0acb4103
parent42ad92e656192a214888a9bd07125ded8b66bbc4
tools/libxl: Avoid overrunning static buffer with prefixdata

An individual datacopier_buf contains a static buffer of 1000 bytes.
Attempting to add prefixdata of more than 1000 bytes would overrun the buffer
and cause heap corruption.

Instead, split the prefixdata and chain together multiple datacopier buffers.
This allows for an arbitrary quantity of prefixdata to be added to a
datacopier.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
tools/libxl/libxl_aoutils.c